package com.token.sysflow.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 授权信息
 * @author 代码创建
 */
public class FSysAuthorizationInfo extends AbstractTableBean {

    private int SysId; //租户ID
    private String SysAddTime; //创建时间
    private String SysAddUser; //创建人
    private String SysEditTime; //修改时间
    private String SysEditUser; //修改人
    private String Authorizer; //授权人
    private String Authorized; //被授权人
    private String StartTime; //授权开始日期
    private String EndTime; //授权结束日期
    private int Status; //状态(0w,1 ing,2 end)

    public FSysAuthorizationInfo (IntegrateSql f){
        super(f,"F_Sys_AuthorizationInfo");
        this.setKeyName("AuthId");
    }

    public FSysAuthorizationInfo (IntegrateSql f,ResultSet rs) throws SQLException{
        super(f,"F_Sys_AuthorizationInfo");
        this.setKeyName("AuthId");
        this.initParamToRs(rs);
    }

    public FSysAuthorizationInfo (IntegrateSql f,String keyValue) throws SQLException{
        super(f,"F_Sys_AuthorizationInfo");
        this.setKeyName("AuthId");
        setCodePrepare(selectCodeById().toString());
        prepareSql.setPstValue(1, keyValue);
        ResultSet rs = executeQuery();
        if(rs.next()){
            initParamToRs(rs);
        }else{
            initParam();
        }
        rs.close();
    }

    @Override
    protected void initParam() {
        SysId = 0; //租户ID
        SysAddTime = ""; //创建时间
        SysAddUser = ""; //创建人
        SysEditTime = ""; //修改时间
        SysEditUser = ""; //修改人
        Authorizer = ""; //授权人
        Authorized = ""; //被授权人
        StartTime = ""; //授权开始日期
        EndTime = ""; //授权结束日期
        Status = 0; //状态(0w,1 ing,2 end)
    }


    public void initParamToRs(ResultSet rs) throws SQLException{
        SysId = rs.getInt("SysId"); //租户ID
        SysAddTime = rs.getString("SysAddTime"); //创建时间
        SysAddUser = rs.getString("SysAddUser"); //创建人
        SysEditTime = rs.getString("SysEditTime"); //修改时间
        SysEditUser = rs.getString("SysEditUser"); //修改人
        Authorizer = rs.getString("Authorizer"); //授权人
        Authorized = rs.getString("Authorized"); //被授权人
        StartTime = rs.getString("StartTime"); //授权开始日期
        EndTime = rs.getString("EndTime"); //授权结束日期
        Status = rs.getInt("Status"); //状态(0w,1 ing,2 end)
        this.setKeyId(rs.getString("AuthId"));
    }


    @Override
    protected int appendData() throws SQLException {
        int i = 1;
        prepareSql.setPstValue(i++,SysId); //租户ID
        prepareSql.setPstValue(i++,SysAddTime); //创建时间
        prepareSql.setPstValue(i++,SysAddUser); //创建人
        prepareSql.setPstValue(i++,SysEditTime); //修改时间
        prepareSql.setPstValue(i++,SysEditUser); //修改人
        prepareSql.setPstValue(i++,Authorizer); //授权人
        prepareSql.setPstValue(i++,Authorized); //被授权人
        prepareSql.setPstValue(i++,StartTime); //授权开始日期
        prepareSql.setPstValue(i++,EndTime); //授权结束日期
        prepareSql.setPstValue(i++,Status); //状态(0w,1 ing,2 end)
        return i;
    }


    @Override
    public Vector<String> getFields() {
        Vector<String> vec = new Vector<String>();
        vec.addElement("SysId"); //租户ID
        vec.addElement("SysAddTime"); //创建时间
        vec.addElement("SysAddUser"); //创建人
        vec.addElement("SysEditTime"); //修改时间
        vec.addElement("SysEditUser"); //修改人
        vec.addElement("Authorizer"); //授权人
        vec.addElement("Authorized"); //被授权人
        vec.addElement("StartTime"); //授权开始日期
        vec.addElement("EndTime"); //授权结束日期
        vec.addElement("Status"); //状态(0w,1 ing,2 end)
        return vec;
    }


    /**
     * 设置租户ID
     * @param sysid
     */
    public void setSysId(int sysid){
        SysId = sysid;
    }
    /**
     * 获取SysId
     * @return 租户ID
     */
    public int getSysId(){
        return SysId;
    }

    /**
     * 设置创建时间
     * @param sysaddtime
     */
    public void setSysAddTime(String sysaddtime){
        SysAddTime = sysaddtime;
    }
    /**
     * 获取SysAddTime
     * @return 创建时间
     */
    public String getSysAddTime(){
        return SysAddTime;
    }

    /**
     * 设置创建人
     * @param sysadduser
     */
    public void setSysAddUser(String sysadduser){
        SysAddUser = sysadduser;
    }
    /**
     * 获取SysAddUser
     * @return 创建人
     */
    public String getSysAddUser(){
        return SysAddUser;
    }

    /**
     * 设置修改时间
     * @param sysedittime
     */
    public void setSysEditTime(String sysedittime){
        SysEditTime = sysedittime;
    }
    /**
     * 获取SysEditTime
     * @return 修改时间
     */
    public String getSysEditTime(){
        return SysEditTime;
    }

    /**
     * 设置修改人
     * @param sysedituser
     */
    public void setSysEditUser(String sysedituser){
        SysEditUser = sysedituser;
    }
    /**
     * 获取SysEditUser
     * @return 修改人
     */
    public String getSysEditUser(){
        return SysEditUser;
    }

    /**
     * 设置授权人
     * @param authorizer
     */
    public void setAuthorizer(String authorizer){
        Authorizer = authorizer;
    }
    /**
     * 获取Authorizer
     * @return 授权人
     */
    public String getAuthorizer(){
        return Authorizer;
    }

    /**
     * 设置被授权人
     * @param authorized
     */
    public void setAuthorized(String authorized){
        Authorized = authorized;
    }
    /**
     * 获取Authorized
     * @return 被授权人
     */
    public String getAuthorized(){
        return Authorized;
    }

    /**
     * 设置授权开始日期
     * @param starttime
     */
    public void setStartTime(String starttime){
        StartTime = starttime;
    }
    /**
     * 获取StartTime
     * @return 授权开始日期
     */
    public String getStartTime(){
        return StartTime;
    }

    /**
     * 设置授权结束日期
     * @param endtime
     */
    public void setEndTime(String endtime){
        EndTime = endtime;
    }
    /**
     * 获取EndTime
     * @return 授权结束日期
     */
    public String getEndTime(){
        return EndTime;
    }

    /**
     * 设置状态(0w,1 ing,2 end)
     * @param status
     */
    public void setStatus(int status){
        Status = status;
    }
    /**
     * 获取Status
     * @return 状态(0w,1 ing,2 end)
     */
    public int getStatus(){
        return Status;
    }

}
